package com.shopping.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shopping.dto.CartDTO;
import com.shopping.entity.CartItem;

import java.util.List;
import java.util.Map;

public interface CartService extends IService<CartItem> {
    // 获取用户购物车
    List<CartItem> getUserCart(Long userId);

    // 添加商品到购物车
    boolean addToCart(Long userId, Long productId, Integer quantity);

    // 更新购物车商品数量
    boolean updateCartItem(Long userId, Long cartItemId, Integer quantity);

    // 从购物车移除商品
    boolean removeCartItem(Long userId, Long cartItemId);

    // 清空购物车
    boolean clearCart(Long userId);

    // 获取购物车商品数量
    Integer getCartCount(Long userId);

    // 批量删除购物车商品
    boolean batchRemoveCartItems(Long userId, List<Long> productIds);

    // 购物车结算
    boolean checkoutCart(Long userId, Map<String, Object> orderInfo);

    // 获取购物车统计信息
    Map<String, Object> getCartStatistics(Long userId);
}